<?php
namespace Forms\Filter;

use Pinenut\Form\Filter;

/**
 * Вырезаем неугодные тэги (оставляя угодные)
 * Вырезаем небезопасные атрибуты
 * 
 * @author kosh
 *
 */
class StripTagsAction extends Filter
{
	protected $safeTags = '<p><a><br><b><i><strong><em><ul><li><ol><h2><h3><h4><h5><span>';
	
	public function run()
	{
		// вырезаем тэги
		$text = strip_tags($this->request->value, $this->safeTags);
		
		// вырезаем события
		$text = preg_replace('/(<)([^>]*?)\son[^=]+\s*=\s*([^>]*?)(>)/mui','$1$2 off=$3$4' , $text);
		
		// вырезаем стили
		$text = preg_replace('/(<)([^>]*?)\sstyle\s*=\s*([^>]*?)(>)/mui','$1$2 off=$3$4' , $text);
		
		// вырезаем возможные скрипты
		$text = preg_replace('/(<)([^>]*?)javascript:([^>]*?)(>)/mui','$1$2 $3$4' , $text);
		
		return $text;
		
	}
}